using ZR.Model;
using ZR.Model.System;
using ZR.Model.System.Dto;

namespace ZR.ServiceCore.Services.IService
{
    /// <summary>
    /// 风力数据DBS查询服务接口
    /// </summary>
    public interface IWindDataDBSService
    {
        /// <summary>
        /// 获取风力数据DBS查询列表
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <param name="pager">分页参数</param>
        /// <returns></returns>
        PagedInfo<WindDataDBS> SelectWindDataDBSList(WindDataDBSQueryDto query, PagerInfo pager);

        /// <summary>
        /// 模糊查询风力数据DBS查询列表
        /// </summary>
        /// <param name="query">查询条件</param>
        /// <param name="pager">分页参数</param>
        /// <returns></returns>
        PagedInfo<WindDataDBS> SelectWindDataDBSListWithLike(WindDataDBSQueryDto query, PagerInfo pager);

        /// <summary>
        /// 获取风力数据DBS查询统计信息
        /// </summary>
        /// <returns></returns>
        object GetWindDataDBSStatistics();

        /// <summary>
        /// 根据时间参数获取对应的DBS表名列表
        /// </summary>
        /// <param name="timeParam">时间参数</param>
        /// <returns></returns>
        List<string> GetDBSTableNames(string timeParam);

        /// <summary>
        /// 获取所有DBS表名列表
        /// </summary>
        /// <returns></returns>
        List<string> GetAllDBSTableNames();
    }
}